import nunjucks from 'nunjucks'
import { fileURLToPath } from 'url'

export const registryTemplate = function () {
    return async (ctx, next) => {
        // 自定义方法，传入 要渲染的文件名称 和 一个对象（包含模板中需要的数据）
        ctx.render = function (html, obj) {
            // 直接查找制定目录的路径
            let viewsBaseUrl = new URL('../views', import.meta.url)
            let viewsBasePath = fileURLToPath(viewsBaseUrl)
            // console.log(viewsBasePath);

            // 配置nunjucks  存放目录
            let env = nunjucks.configure(viewsBasePath, { noCache: true, watch: true })
            // 将文件和对象传递给nunjucks，发送客户端
            ctx.body = env.render(html, obj)
        }

        await next();

    }
}
